#include <graphics/SkeletonManager.h>

namespace ne
{
    template<> SkeletonManager* Singleton<SkeletonManager>::mpInstance = 0;

    SkeletonManager::SkeletonManager()
    {
        mResourceType = "Skeleton";
        std::cout << "Construct Skeleton Manager\n";
    }

    SkeletonManager::~SkeletonManager()
    {
        std::cout << "Disconstruct Skeleton Manager\n";
    }

    SkeletonManager& SkeletonManager::GetSingleton()
    {
        assert(mpInstance);
        return *mpInstance;
    }

    SkeletonManager* SkeletonManager::GetSingletonPtr()
    {
        return mpInstance;
    }

    Resource* SkeletonManager::createImplement(const uint64_t id,
                                               const std::string &name,
                                               const std::string &fileName,
                                               const bool isManual,
                                               ManualResourceLoader *pLoader)
    {
        return new Skeleton(this, id, name, fileName, isManual, pLoader);
    }
}
